package dao;

import model.Orders;
import utils.GenicaDao;
import vo.OrderVo;

import java.util.List;

public interface OrdersDao extends GenicaDao<Orders,Integer> {
    /**
     * 通过用户id和状态查找订单列表
     * @param id
     * @param state
     * @return
     */
    public List<Orders> findByUserId(int id,int state);

    /**
     * 根据订单编号查询订单
     * @param order_no
     * @return
     */
    public Orders findOrderByOrderNo(String order_no);

    /**
     * 修改指定订单状态
     * @param order_no
     * @param state
     * @return
     */
    public boolean updateOrderStateById(String order_no,int state);

    /**
     * 分页查询所有
     * @param page
     * @param limit
     * @return
     */
    public List<Orders> findAll(int page,int limit);

    /**
     * 查询所有的记录数量
     * @return
     */
    public int findCount();

    /**
     * 查找指定状态的记录数
     * @param state
     * @return
     */
    public int findCount(int state);

    /**
     * 根据状态进行分页
     * @param state
     * @param page
     * @param limit
     * @return  List<Orders>
     */
    public List<Orders> findAllByState(int state,int page,int limit);
}
